package com.yunke.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunke.common.base.YunkeBaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 云科搭子参与关系实体类
 * 对应数据库表：dz_dazi_join
 * 
 * @author yunke
 * @since 2024-01-01
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("dz_dazi_join")
@Schema(description = "搭子参与关系")
public class YunkeDaziJoin extends YunkeBaseEntity {

    /**
     * 搭子ID
     */
    @TableField("dazi_id")
    @Schema(description = "搭子ID")
    private Long daziId;

    /**
     * 用户ID
     */
    @TableField("user_id")
    @Schema(description = "用户ID")
    private Long userId;

    /**
     * 申请理由
     */
    @TableField("apply_reason")
    @Schema(description = "申请理由")
    private String applyReason;

    /**
     * 联系方式
     */
    @TableField("contact")
    @Schema(description = "联系方式")
    private String contact;

    /**
     * 参与状态 0-待审核 1-已通过 2-已拒绝 3-已退出
     */
    @TableField("status")
    @Schema(description = "参与状态 0-待审核 1-已通过 2-已拒绝 3-已退出")
    private Integer status;

    /**
     * 审核备注
     */
    @TableField("audit_remark")
    @Schema(description = "审核备注")
    private String auditRemark;

    /**
     * 审核时间
     */
    @TableField("audit_time")
    @Schema(description = "审核时间")
    private Long auditTime;

    /**
     * 审核人ID
     */
    @TableField("auditor_id")
    @Schema(description = "审核人ID")
    private Long auditorId;

    /**
     * 是否是发布者 0-否 1-是
     */
    @TableField("is_publisher")
    @Schema(description = "是否是发布者 0-否 1-是")
    private Integer isPublisher;

    /**
     * 评价星级 1-5星
     */
    @TableField("rating")
    @Schema(description = "评价星级 1-5星")
    private Integer rating;

    /**
     * 评价内容
     */
    @TableField("review_content")
    @Schema(description = "评价内容")
    private String reviewContent;

    /**
     * 评价时间
     */
    @TableField("review_time")
    @Schema(description = "评价时间")
    private Long reviewTime;

    /**
     * 申请时间
     */
    @TableField("apply_time")
    @Schema(description = "申请时间")
    private Long applyTime;

    /**
     * 加入时间
     */
    @TableField("join_time")
    @Schema(description = "加入时间")
    private Long joinTime;

    /**
     * 退出时间
     */
    @TableField("quit_time")
    @Schema(description = "退出时间")
    private Long quitTime;

    /**
     * 退出原因
     */
    @TableField("quit_reason")
    @Schema(description = "退出原因")
    private String quitReason;


} 